package com.fz;

import com.fz.entity.Student;
import com.fz.mapper.StudentMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.util.List;


/**
 * Created by webrx on 2017-08-23.
 */
public class Demo {
    //本例是最原始的调用方法
    public static void main(String[] args) {
        try {
            //sql会话工厂(类似于创建sql会话工厂)
            SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader("mybatis-config.xml"));
            //执行会话
            SqlSession s = sf.openSession();
            //实例化接口（相当于以前的util包，方法都在这个接口里）
            StudentMapper sdao = s.getMapper(StudentMapper.class);
            //删除指定id的客户信息
            /*int i = sdao.deleteById(4);
            System.out.println(i);*/

            Student sss = sdao.queryById(3);
            sss.setScore(100);
            sss.setName("李晓丽");
            sss.setAddress("上海市某某区");
            //利用配置的方式进行修改id=3的信息
            sdao.update(sss);

            //sdao.delete();//采用配置的方式调方法清空
            //采用注解的方式的方法，进行查询表中的所有的姓名，遍历出来
            List<Student> ss = sdao.query();
            for(Student st : ss){
                System.out.println(st.getName());
            }
            //提交
            s.commit();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
